package domain
import domain.Docente

class Curso {
	
	//Docentes presentes en el curso
	LinkedList<Docente> docentes
	
	//Vacantes disponibles en el curso
	int vacantes
	
	//Horario en que se dicta la materia
	String horario
	
	//Codigo asociado al curso
	int codigo
	
	
	def agregarDocente(Docente docente) {
		
		if(this.docentes == null)
			this.docentes = new LinkedList<Docente>()
		
		this.docentes.add(docente)
	}
	
	
	//Obtiene un string que los apellidos de los docentes que dictan el curso
	def obtenerDatosDocentes() {
		def docentes=""
		
		def itDocentes = getDocentes().iterator();
		
		while(itDocentes.hasNext()) {
		
			def docenteActual = itDocentes.next()
			docentes+=docenteActual.getApellido()+"-"	
		}
		
		docentes = docentes.substring(0, docentes.length()-1);
		
		return docentes
		
	}
	
	//Incrementa las vacantes del curso cuando un alumno se desanota en el mismo
	def incrementarVacantes() {
	
		this.vacantes++	
	}
	
	
	//Decrementa las vacantes del curso cuando un alumno se anota en el mismo
	def decrementarVacantes() {
	
		this.vacantes--
	}
	
	String toString(){
		return this.getCodigo()+ "  "+this.getVacantes()+"  "+this.obtenerDatosDocentes()+"  "+this.getHorario()
	}
	

}
